package cqie.frame.entity;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * 评教记录(EvaluateRecord)表实体类
 *
 * @author makejava
 * @since 2021-10-11 08:41:43
 */
@SuppressWarnings("serial")
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("evaluate_record")
@ApiModel(description = "评价记录表")
public class EvaluateRecord extends Model<EvaluateRecord> {
    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "评价人Id")
    @TableField(value = "sysUserId")
    private Long sysUserId;

    @ApiModelProperty(value = "评价时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(value = "evaluateTime")
    private Date evaluateTime;

    @ApiModelProperty(value = "被评价人Id")
    @TableField(value = "teacherId")
    private Long teacherId;

    @ApiModelProperty(value = "评教任务Id")
    @TableField(value = "evaluateTaskId")
    private Long evaluateTaskId;

    @ApiModelProperty(value = "评价类型Id")
    @TableField(value = "evaluateTypeId")
    private Long evaluateTypeId;

    @ApiModelProperty(value = "班级Id")
    @TableField(value = "clazzId")
    private Long clazzId;

    @ApiModelProperty(value = "课程Id")
    @TableField(value = "courseId")
    private Long courseId;

    @ApiModelProperty(value = "评价指标Id")
    @TableField(value = "evaluateTargetId")
    private Long evaluateTargetId;

    @ApiModelProperty(value = "选中项Id")
    @TableField(value = "evaluateTargetOptionId")
    private Long evaluateTargetOptionId;

    /**
     * 获取主键值
     *
     * @return 主键值
     */
    @Override
    protected Serializable pkVal() {
        return this.id;
    }
    }

